﻿using System;
using System.Windows.Input;
using InseSoft.Models;
using InseSoft.Models.Entities;
using InseSoft.Services;
using InseSoft.ViewModels.Events;

namespace InseSoft.ViewModels
{
    public interface IEntityViewModel: IDisposable
    {
        Entity CurrentEntity { get; set; }
        IDialogService DialogService { get; set; }
        IEventPublisher EventAggregator { get; set; }
        IInseContext DbContext { get; set; }
        ICommand NewCommand { get; }
        ICommand DeleteCommand { get; }
        ICommand SaveCommand { get; }
        ICommand ExitCommand { get; }
        void Initialize();
        bool IsItemSelected { get; }
    }
}